package controller;

import dao.UsuarioDAO;
import java.util.ArrayList;
import java.util.List;
import model.Usuario;
import view.UsuarioBean;

/**
 *
 * @author Lucas S Bueno
 */
public class UsuarioController implements BasicControllerInterface<UsuarioBean> {

   @Override
   public boolean salvar(UsuarioBean obj) {
      if (obj == null) {
         return false;
      }
      
      return new UsuarioDAO().salvar(new Usuario(obj));
   }

   @Override
   public List<UsuarioBean> recuperar() {
      List<UsuarioBean> usuarios = new ArrayList<UsuarioBean>();
      
      for (Usuario usuario : new UsuarioDAO().recuperar()) {
         usuarios.add(new UsuarioBean(usuario));
      }
      
      return usuarios;
   }

   @Override
   public UsuarioBean recuperar(int id) {
      Usuario usuario = new UsuarioDAO().recuperar(id);
      
      if (usuario == null) {
         return null;
      } else {
         return new UsuarioBean(usuario);
      }      
   }
   
   public UsuarioBean recuperar(String email, String senha) {
      Usuario usuario = new UsuarioDAO().recuperar(email, senha);
      if (usuario == null) {
         return null;
      } else {
         return new UsuarioBean(usuario);
      }
   }

   @Override
   public boolean atualizar(UsuarioBean obj) {
      if (obj == null) {
         return false;
      }
      
      return new UsuarioDAO().atualizar(new Usuario(obj));
   }

   @Override
   public boolean deletar(UsuarioBean obj) {
      if (obj == null) {
         return false;
      }
      
      return new UsuarioDAO().deletar(new Usuario(obj));
   }
   
   public int maxId() {
      return new UsuarioDAO().maxId();
   }
}
